#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;
layout (location = 2) in vec2 aTexCoords;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

uniform int numSprites;
uniform int curSprite;
uniform bool bFlipX;

out vec2 TexCoords;

void main()
{
    gl_Position = projection * view * model * vec4(aPos, 1.0);
    vec2 tempTex = aTexCoords;
    if(bFlipX)
        tempTex.x = tempTex.x == 0.0 ? 1.0 : 0.0;
    TexCoords = vec2(tempTex.x / float(numSprites) + float(curSprite) / float(numSprites), tempTex.y);
}
